<?php
/**
 * Manejo de la libreria Gettext.
 *
 * @package		CodeIgniter
 * @author		3WD - Jormar Arellano <jormar.arellano@treswd.com>
 * @since		Version 1.0
 */

require(APPPATH.'libraries/php-gettext-1.0.11/gettext.php');
require(APPPATH.'libraries/php-gettext-1.0.11/streams.php');

class Translator {

	/** Idiomas soportados por el sistema */
	private static $supported_languages = array('Espanol' => 'es_ES');

	/** Idioma predeterminado */
	private static $default_lang = 'es_ES';

	/** Este es el lector del archivo .mo */
	private $reader;

    /** Inicializamos la libreria desde el contructor */
    public function __construct() {
		$CI =& get_instance();

		$lang = $CI->session->userdata('lang');
		$lang = ($lang)?$lang:Translator::$default_lang;

		$streamer = new FileReader(APPPATH.'language/locale/'.$lang.'/LC_MESSAGES/default.mo');
		$this->reader = new gettext_reader($streamer);

		log_message('debug','GETTEXT Lib (portable): initialized');
    }

	/** Traduce una frase */
	public function translate($message){
		return $this->reader->translate($message);
	}

	/** Indica el listado de lenguajes aceptados */
	public function getSupportedLanguages(){
		return Translator::$supported_languages;
	}
}
